The present invention is related to computer software and more specifically to computer software for Internet Protocol communications.
To communicate across a network, a communications protocol may be used. One such communication protocol that is widely used is the TELNET protocol, referred to herein as TELNET. TELNET is described in RFC 854, submitted under an information disclosure statement in this case and available at the website of faqs.org. The Telnet protocol can be used to access a host computer on a network different from that of the user of the protocol. TELNET establishes the session with the host, and then provides terminal emulation for the user of the protocol to allow the communication from the user to appear to the host as a local terminal. This type of session is known as a xe2x80x9cterminal emulation communications session.xe2x80x9d TELNET terminates the terminal emulation communications session when the user so requests or the host so requests.
A TELNET session uses software in two locations, at the user side and at the host side of the connection. The software at both locations sets up and tears down the connection using control commands between the two locations, and passes data from one location to the other. Other control commands perform other functions.
Because TELNET and other similar protocols allow data and control commands to be sent over the same connection, the recipient of any information must constantly scan it to identify whether the information is a control command or data that is merely passed on to the host or the user after formatting or other conversion,,such as ASCII to EBCDIC. Scanning to separate commands from data takes processor resources to perform. Because most information passed between the two locations is data and not commands, the processor resources required to identify whether information received is a command or data makes the TELNET protocol and other similar protocols processor inefficient. What is needed is a method and apparatus that can improve efficiency in a terminal emulation communications session.
A method and apparatus uses a conventional protocol to establish a conventional communication session between two remote devices using a single connection. An enhanced version of the protocol allows one of the devices to suggest an additional connection to the other device. If the other device responds affirmatively to the suggestion, the devices can negotiate the additional connection. One of the two connections can be used to send only data and the other can be used either for commands, or for commands and data. Freed from the requirement to monitor the data-only connection for commands, each device can communicate data more-efficiently.